home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / nikto / plugins / nikto_mutate.plugin < prev    next >
Text File  |  2005-10-19  |  2KB  |  68 lines

  1. #VERSION,1.07
  2. #LASTMOD,07.02.2004
  3. # (c) 2001-2005 cirt.net, All Rights Reserved
  4. # mutated file checks
  5.  
  6. # This software is distributed under the terms of the GPL, which should have been received
  7. # with a copy of this software in the "LICENSE.txt" file.
  8.  
  9. sub nikto_mutate
  10. {
  11.  
  12.  if ($CLI{mutate} !~ /1/) { return; }
  13.  my $mctr=0;
  14.  
  15.  my ($c, %DIRS, %FS) = "";
  16.  
  17.  # build a hash of all the unique directories
  18.  foreach $c (@CGIDIRS) { $DIRS{$c}=""; }
  19.  
  20.  nprint("-Loading root level files","v");
  21.  
  22.  foreach my $cn (keys %FILES)
  23.    {
  24.     my $dir=LW::utils_get_dir($FILES{$cn});
  25.     my $file=$FILES{$cn};
  26.     my $rdir=$dir;
  27.     $rdir=~s/([^a-zA-Z0-9])/\\$1/g;
  28.     $file =~ s/$rdir//;
  29.     $DIRS{$dir}="" unless $dir eq "";
  30.     $FS{$file}="" unless $file eq "";
  31.    }
  32.  
  33.  nprint("-Loading config.txt items","v");
  34.  # add anything from the config file
  35.  my @t=split(/ /,$CONFIG{"\@MUTATEDIRS"}); foreach $c (@t) { $DIRS{$c}=""; }
  36.  @t=split(/ /,$CONFIG{"\@MUTATEFILES"}); foreach $c (@t) { $FS{$c}=""; }
  37.  
  38.  # add the directory/file combos to the request hashes
  39.  $total_tests=0;
  40.  foreach my $root (keys %DIRS)
  41.   {  
  42.    foreach my $file (keys %FS)
  43.     {
  44.      # skip self referencing stuff
  45.      if (($root !~ /[^\.\/]/) && ($file !~ /[^\.\/]/)) { next; }
  46.      # args with no file
  47.      if (($root eq "/") && ($file =~ /^\?/)) { next; }
  48.      if (($root eq "") && ($file =~ /^\?/)) { next; }
  49.      $mctr++;
  50.      $total_tests++;
  51.      $ITEMCOUNT++;
  52.  
  53.      if (($total_tests % 100000) eq 0) { nprint("-Added test ($total_tests of many):$root$file:","d"); }
  54.  
  55.      $FILES{$ITEMCOUNT}="$root$file";
  56.      $INFOS{$ITEMCOUNT}="URL created via mutate option.";
  57.      $RESPS{$ITEMCOUNT}=200;
  58.      $METHD{$ITEMCOUNT}="GET";
  59.     }
  60.   }
  61.  
  62.  nprint("- $mctr mutate checks loaded","v");
  63.  return;
  64.  
  65. }
  66.  
  67. 1;
  68.